import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)
Vue.config.devtools = true; // 打开vue调试工具

// 遍历文件，全部导入
// 第一个参数 文件目录
// 第二个参数 是否遍历子目录
// 第三个参数 正则匹配
// files 是一个方法
const files = require.context('./modules', false, /\.js$/)
const modules = {}

//Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组，数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致 。
files.keys().forEach((key) => {
  modules[key.replace(/(\.\/|\.js)/g, '')] = files(key).default
})

Object.keys(modules).forEach((key) => {
  modules[key]['namespaced'] = true
})

const store = new Vuex.Store({
  modules
})
 
export default store